package com.moshme.project.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.util.List;
import java.time.LocalDateTime;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.moshme.framework.config.SeparatorCommaToListTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import org.hibernate.validator.constraints.Length;
import lombok.Data;

/**
* 勘察阶段调压设施表
* @TableName stage_survey_prf
*/
@TableName(value = "stage_survey_prf",autoResultMap = true)
@Data
@ApiModel(value="StageSurveyPrf对象", description="勘察阶段调压设施表")
public class StageSurveyPrf implements Serializable {


    /**
    * id
    */
    @TableId(type = IdType.AUTO)
    @NotNull(message="[id]不能为空")
    @ApiModelProperty("id")
    private Long id;


    /**
    * 项目id
    */
    @ApiModelProperty("项目id")
    private Long projectId;


    /**
    * 调压设施至有限空间无隐患
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("调压设施至有限空间无隐患")
    private List<String> noHiddenDangers;


    /**
    * 立管占压
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管占压")
    private List<String> riserPressure;


    /**
    * 立管生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管生锈")
    private List<String> riserRusted;


    /**
    * 立管防腐脱落
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("立管防腐脱落")
    private List<String> riserAnticorrosiveFallOff;


    /**
    * 生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("生锈")
    private List<String> rust;


    /**
    * 泄露
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("泄露")
    private List<String> leakage;


    /**
    * 软管变形(沉降)
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("软管变形(沉降)")
    private List<String> hoseDeformation;

    /**
     * 调压设施其他隐患
     */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("调压设施其他隐患")
    private List<String> prfOtherDanger;


    /**
    * 调压箱数
    */
    @ApiModelProperty("调压箱数")
    private Integer regulatorBoxNum;


    /**
    * 调压柜数
    */
    @ApiModelProperty("调压柜数")
    private Integer surgeTankNum;


    /**
    * 调压箱
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("调压箱")
    @Length(max= 255,message="编码长度不能超过255")
    private String regulatorBox;


    /**
    * 立管
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("立管")
    @Length(max= 255,message="编码长度不能超过255")
    private String riser;


    /**
    * 电磁切断阀
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("电磁切断阀")
    @Length(max= 255,message="编码长度不能超过255")
    private String electromagneticShutOffValve;


    /**
    * 设备情况
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("设备情况")
    @Length(max= 255,message="编码长度不能超过255")
    private String equipmentSituation;


    /**
    * 通电情况
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("通电情况")
    @Length(max= 255,message="编码长度不能超过255")
    private String powerOnCondition;


    /**
    * 使用情况
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("使用情况")
    @Length(max= 255,message="编码长度不能超过255")
    private String useCase;


    /**
    * 输入端阀门类型
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("输入端阀门类型")
    @Length(max= 255,message="编码长度不能超过255")
    private String inputValveType;


    /**
    * 输入端阀门口径
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("输入端阀门口径")
    @Length(max= 255,message="编码长度不能超过255")
    private String inputValveDiameter;


    /**
    * 输出端阀门类型
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("输出端阀门类型")
    @Length(max= 255,message="编码长度不能超过255")
    private String outputValveType;


    /**
    * 输出端阀门口径
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("输出端阀门口径")
    @Length(max= 255,message="编码长度不能超过255")
    private String outputValveDiameter;


    /**
    * 调压器公称流量
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("调压器公称流量")
    @Length(max= 255,message="编码长度不能超过255")
    private String nominalFlowRateOfVoltageRegulator;


    /**
    * 进口压力范围
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("进口压力范围")
    @Length(max= 255,message="编码长度不能超过255")
    private String inletPressureRange;


    /**
    * 实际进口压力值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("实际进口压力值")
    @Length(max= 255,message="编码长度不能超过255")
    private String actualInletPressureValue;


    /**
    * 出口压力范围
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("出口压力范围")
    @Length(max= 255,message="编码长度不能超过255")
    private String outletPressureRange;


    /**
    * 实际出口压力值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("实际出口压力值")
    @Length(max= 255,message="编码长度不能超过255")
    private String actualOutletPressureValue;


    /**
    * 其他情况
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("其他情况")
    @Length(max= 255,message="编码长度不能超过255")
    private String otherSituations;


    /**
    * 调压柜进口数
    */
    @ApiModelProperty("调压柜进口数")
    private Integer surgeTankInputNum;


    /**
    * 调压柜出口数
    */
    @ApiModelProperty("调压柜出口数")
    private Integer surgeTankOutletNum;


    /**
    * 进口阀门类型
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("进口阀门类型")
    @Length(max= 255,message="编码长度不能超过255")
    private String importedValveType;


    /**
    * 进口阀门口径
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("进口阀门口径")
    @Length(max= 255,message="编码长度不能超过255")
    private String inletValveDiameter;


    /**
    * 进口阀门中压压力
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("进口阀门中压压力")
    @Length(max= 255,message="编码长度不能超过255")
    private String mediumPressureOfInletValve;


    /**
    * 出口阀门类型
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("出口阀门类型")
    @Length(max= 255,message="编码长度不能超过255")
    private String outletValveType;


    /**
    * 出口阀门口径
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("出口阀门口径")
    @Length(max= 255,message="编码长度不能超过255")
    private String outletValveDiameter;


    /**
    * 出口阀门低压压力
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("出口阀门低压压力")
    @Length(max= 255,message="编码长度不能超过255")
    private String lowPressureOfOutletValve;


    /**
    * 压差值
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("压差值")
    @Length(max= 255,message="编码长度不能超过255")
    private String pressureDifference;


    /**
    * 流量计品牌
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("流量计品牌")
    @Length(max= 255,message="编码长度不能超过255")
    private String flowmeterBrand;


    /**
    * 流量计型号
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("流量计型号")
    @Length(max= 255,message="编码长度不能超过255")
    private String flowmeterModel;


    /**
    * 压力远传数
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("压力远传数")
    @Length(max= 255,message="编码长度不能超过255")
    private String remotePressureTransmission;


    /**
    * 泄漏监测数
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("泄漏监测数")
    @Length(max= 255,message="编码长度不能超过255")
    private String leakageMonitoring;


    /**
    * 现场情况无隐患
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("现场情况无隐患")
    private List<String> sceneNoHiddenDangers;


    /**
    * 门锁损坏
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("门锁损坏")
    private List<String> damagedDoorLock;


    /**
    * 箱体、支架损坏生锈
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("箱体、支架损坏生锈")
    private List<String> boxSupportDamagedRusted;


    /**
    * 调压柜(箱)门受影响
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("调压柜(箱)门受影响")
    private List<String> surgeTankDoorAffected;


    /**
    * 过滤器杂质多
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("过滤器杂质多")
    private List<String> excessiveImpuritiesFilter;


    /**
    * 压力表异常
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("压力表异常")
    private List<String> abnormalPressureGauge;


    /**
    * 电磁阀走线不规范无有效连接
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("电磁阀走线不规范无有效连接")
    private List<String> electromagneticValveWiring;

    /**
     * 现场情况其他隐患
     */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("现场情况其他隐患")
    private List<String> sceneOtherDanger;


    /**
    * 备注
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("备注")
    @Length(max= 255,message="编码长度不能超过255")
    private String notes;


    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;


    /**
     * 创建人
     */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("创建人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;


    /**
    * 修改时间
    */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    /**
    * 修改人
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("修改人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @TableField(exist = false)
    private static final long serialVersionUID=1L;

}

